package com.iwhalecloud.citybrain.flow.platform.manager.application.service;

import com.iwhalecloud.citybrain.flow.platform.manager.common.ResponseResult;
import com.iwhalecloud.citybrain.flow.platform.manager.domain.model.userentity.RoleInfo;
import com.iwhalecloud.citybrain.flow.platform.manager.domain.model.userentity.UserInfo;

import java.util.List;

/**
　　* @description: 用户角色服务
　　* @author shenrm
　　* @date 2021/10/27 18:15
　　*/
public interface UserRoleService {

    /**
     * 通过角色ID查询用户列表
     *
     * @param code
     * @return
     */
    List<UserInfo> getUserListByRoleId(String code);

    /**
     *
     * @param code
     * @return
     */
    RoleInfo getRoleInfoByCode(String code);

    /**
     * 根据角色编码集合获取用户信息列表
     *
     * @param roleCodes
     * @return
     */
    List<UserInfo> getUserListByRoleIdList(List<String> roleCodes);

    /**
     * 分页查询角色列表
     * @param roleName
     * @param pageNo
     * @param pageSize
     * @return
     */
    ResponseResult getUserRolePageList(String roleName, Integer pageNo, Integer pageSize);

    /**
     * 根据roleId或roleCode查询获取角色信息
     *
     * @param roleId 角色编码
     * @param roleCode 角色编码
     * @param isDeleted 是否是已删除标识
     * @return
     */
    RoleInfo getRoleInfoByRoleCode(String roleId, String roleCode, String isDeleted);
}
